
local 装备制造类 = class()


function 装备制造类:初始化()
 self.背景=图像类("imge/001/242-1.png")
 self.取消=按钮类.创建("imge/001/0016.png",2,"取消",3)
 self.文字=文字类(simsun,17)
 self.金钱文字=文字类.创建(simsun,17)
 self.文字:置颜色(黑色)
 self.本类开关=false
end


function 装备制造类:更新(dt)

  self.打造:更新(dt)
  self.取消:更新(dt)
  if self.取消:取是否单击() then


     self.本类开关=false
   elseif self.打造:取是否单击() then

    print("本次打造是"..self.制造类型)
     if  self.格子[1].id==0 or self.格子[2].id==0 then

         信息提示:加入提示("#y/您似乎还缺点什么材料")

        else
         if self.制造类型=="打造" or self.制造类型=="强化打造" then

            客户端:发送数据(self.格子[1].id,self.格子[2].id,17,self.制造类型)

          elseif self.制造类型=="镶嵌" then

            --客户端:发送数据(4032,table.tostring(self.格子))
            客户端:发送数据(self.格子[1].id,self.格子[2].id,18,self.制造类型)
          end

         end



  	 end

    if 引擎.鼠标弹起(1) and self.背景:取包围盒():检查点(鼠标.x,鼠标.y) then
      local x, y = 鼠标.x - self.背景.x - 20, 鼠标.y - self.背景.y - 60 --153
      if(x < 0 or y < 0 or x > 110 or y > 55) then
        y = y - 93
        if(x < 0 or y < 0 or x > 260 or y > 210) then self.本类开关 = false end
      end
    end

 end

function 装备制造类:刷新(数据)

 self.制造类型=数据.类别
 self.游戏金钱=数据.银两
 self.当前体力=数据.体力
 self.格子={[1]={id=0,名称=""},[2]={id=0,名称=""},类型=self.制造类型}
-- print(数据)
self.物品数据={}
 for n=1,20 do

     if 数据[n]~=nil then
         self.物品数据[n]=物品数据类.创建(数据[n],3,self.当前类型,n)
         self.物品数据[n].编号=数据[n].编号
      end


      end

 if self.制造类型=="打造" or self.制造类型=="强化打造" then
   self.打造=按钮类.创建("imge/001/0016.png",2,"打造",3)
  elseif 类型==2 then
   self.打造=按钮类.创建("imge/001/0016.png",2,"合成",3)
  elseif self.制造类型=="镶嵌"then
   self.打造=按钮类.创建("imge/001/0016.png",2,"镶嵌",3)
  elseif 类型==4 then
   self.打造=按钮类.创建("imge/001/0016.png",2,"点化",3)
  elseif 类型==5 then
   self.打造=按钮类.创建("imge/001/0016.png",2,"提升",3)
  elseif 类型==6 then
   self.打造=按钮类.创建("imge/001/0016.png",2,"精炼",3)
   end
 self.消耗金钱=0
 self.消耗体力=0
 self.本类开关=true

 end



function 装备制造类:界面重叠()

 if self.背景:取包围盒():检查点(鼠标.x,鼠标.y) then

     return true
    else
     return false

 	 end

 end


function 装备制造类:体力计算(类型)


 if  self.制造类型=="打造" then


    --self.消耗体力=math.floor(self:获取等级()/10*20)
    self.消耗体力=0

  else

     self.消耗体力=0
  end

end

function 装备制造类:金钱计算(类型)



    if self.制造类型=="打造" then

      self.消耗金钱=math.floor(self:获取等级()*self:获取等级()*20)

    elseif self.制造类型=="强化打造" then

      self.消耗金钱=math.floor(self:获取等级()*self:获取等级()*20)*2


     end




  end

function 装备制造类:获取等级(名称)

 if self.制造类型=="打造" or self.制造类型=="强化打造" then
  -- self.临时名称="制造指南书"
   return self.物品数据[self.格子[1].id].数据.参数


   end





 end

function 装备制造类:条件检测(id)

  if self.制造类型=="打造" or self.制造类型=="强化打造" then

    if self.物品数据[id].类型~="打造"  then--and self.物品数据[id].名称~="百炼精铁" and self.物品数据[id].名称~="灵饰指南书" and self.物品数据[id].名称~="元灵晶石"  and self.物品数据[id].名称~="巨剑·元身"  and self.物品数据[id].名称~="灯笼·元身" and self.物品数据[id].名称~="战魄" and  self.物品数据[id].名称~="鞋履·元身" and self.物品数据[id].名称~="束带·元身" and self.物品数据[id].名称~="挂坠·元身"  and self.物品数据[id].名称~="纱衣·元身" and self.物品数据[id].名称~="坚甲·元身" and self.物品数据[id].名称~="冠冕·元身"  and self.物品数据[id].名称~="头盔·元身" and self.物品数据[id].名称~="爪刺·元身" and self.物品数据[id].名称~="长鞭·元身"  and self.物品数据[id].名称~="双剑·元身" and self.物品数据[id].名称~="双环·元身" and self.物品数据[id].名称~="飘带·元身"  and self.物品数据[id].名称~="魔棒·元身" and self.物品数据[id].名称~="枪·元身" and self.物品数据[id].名称~="锤·元身"  and self.物品数据[id].名称~="斧·元身" and self.物品数据[id].名称~="剑·元身" and self.物品数据[id].名称~="刀·元身"  and self.物品数据[id].名称~="扇·元身" and self.物品数据[id].名称~="宝珠·元身" and self.物品数据[id].名称~="弓·元身"  and self.物品数据[id].名称~="长杖·元身" and self.物品数据[id].名称~="伞·元身"  then
     信息提示:加入提示("#y/我只能用书铁打造装备，这是啥玩意？")
      return false
     else
      return true
     end
  elseif self.制造类型=="打造22" then
    if self.物品数据[id].分类~="宝石" then
     信息提示:加入提示("#y我这里只能合成宝石，其它物品您还是找别家去吧")
      return false
     else
      return true
      end
  elseif self.制造类型=="镶嵌"  then

    return  self:镶嵌分类(id)

  elseif self.类型==4  then
   if self.物品数据[id].名称~="点化石" and self.物品数据[id].分类~="武器" and self.物品数据[id].分类~="防具" then
     信息提示:加入提示("#y请放入点化石或要点化的装备")
      return false
     else
      return true
     end
  elseif self.类型==5  then
   if  self.物品数据[id].分类~="武器" and self.物品数据[id].分类~="防具" then
     信息提示:加入提示("#y请放入要提升精炼次数的装备")
      return false
     else
      return true
     end

  elseif self.类型==6  then
   if  self.物品数据[id].分类~="武器" and self.物品数据[id].分类~="防具" and self.物品数据[id].名称~="青龙石" and self.物品数据[id].名称~="玄武石" and self.物品数据[id].名称~="白虎石" and self.物品数据[id].名称~="朱雀石" then
     信息提示:加入提示("#y请放入要精炼的装备或强化石")
      return false
     else
      return true
     end
    end



 end


function 装备制造类:镶嵌类型(id)

 if self.物品数据[id].类型=="宝石" or self.物品数据[id].名称=="珍珠" or self.物品数据[id].名称=="星辉石" or self.物品数据[id].名称=="附魔宝珠" or self.物品数据[id].名称=="钨金" or self.物品数据[id].名称=="点化石" then

   return 1
 elseif self.物品数据[id].类型=="耳饰" or self.物品数据[id].类型=="手镯"or self.物品数据[id].类型=="bb装备" or self.物品数据[id].类型=="戒指" or self.物品数据[id].类型=="佩饰" or self.物品数据[id].类型=="武器" or self.物品数据[id].类型=="项链" or self.物品数据[id].类型=="头盔" or self.物品数据[id].类型=="鞋子" or self.物品数据[id].类型=="衣服" or self.物品数据[id].类型=="腰带"  then

   return 2
  else
    return  0
   end



 end



function 装备制造类:镶嵌分类(id)

 self.临时格子=0

  for n=1,2 do if self.格子[n].id~=0 then self.临时格子=n end

    if self.临时格子==0 then

       if self:镶嵌类型(id)~=0 then

         return true

       else
        return false

         end

    else

      if self:镶嵌类型(self.格子[self.临时格子].id)==1 and self:镶嵌类型(id)~=2 then

          信息提示:加入提示("#y/镶嵌需要#r/宝石#w/和#r/装备#w/两种材料")
          return false
      elseif self:镶嵌类型(self.格子[self.临时格子].id)==2 and self:镶嵌类型(id)~=1 then

          信息提示:加入提示("#y/镶嵌需要#r/宝石#w/和#r/装备#w/两种材料")
          return false
      else

        return true
      end


        end


     end


  end








function 装备制造类:获取格子(id)
  self.临时格子=0

  if self.制造类型=="打造" or self.制造类型=="强化打造"  then
    --  print(self:放置条件(id))

     self.计算结果=0
    for n=1,2 do

       if self.格子[n].id==0 and self.临时格子==0 and self:放置条件(id) then self.格子[n].id=id self.临时格子=id end

        if self.格子[n].id~=0 then

         self.计算结果=self.计算结果+1

          end


      end


     if self.计算结果==2 then

         self:金钱计算()
         self:体力计算()


         end

  elseif self.类型==2 then

    for n=1,2 do

       if self.格子[n].id==0 and self.临时格子==0 and self:寻找相同宝石(self.物品数据[id].名称) then self.格子[n].id=id self.临时格子=id end


      end

   elseif self.制造类型=="镶嵌" then

    for n=1,2 do

       if self.格子[n].id==0 and self.临时格子==0  then self.格子[n].id=id self.临时格子=id end


      end
   elseif self.类型==4 then

    for n=1,2 do

       if self.格子[n].id==0 and self.临时格子==0  then self.格子[n].id=id self.临时格子=id end


      end
  elseif self.类型==5 then
    for n=1,1 do

       if self.格子[n].id==0 and self.临时格子==0  then self.格子[n].id=id self.临时格子=id end
      self:金钱计算(1)

      end
  elseif self.类型==6 then
   if self.物品数据[id].分类~="武器" and self.物品数据[id].分类~="防具" then

     self.格子[2].id=id
    else
     self.格子[1].id =id

      end
   self.临时格子=id
    end
  --if self.格子[1].id~=0 and self.格子[2].id~=0 then self:体力计算(1) self:金钱计算(1) end

 end

function 装备制造类:放置条件(id)

  if self.制造类型=="打造" or self.制造类型=="强化打造"  then

   if self:名称格子(self.物品数据[id].名称)~=0 then
       return false

    else
      return true

      end



    end





 end

function 装备制造类:名称格子(名称)

  self.找到=0

  for n=1,2 do
    --print(self.物品数据[self.格子[n].id].名称,self.临时名称)
     if self.格子[n].id~=0 and self.物品数据[self.格子[n].id].名称==名称 then return n end


     end

   return self.找到





 end

function 装备制造类:显示(x,y)

   x = 254
   y = 100
   self.背景:显示(x,y)
   self.打造:显示(x - 150 + 165, y - 30 + 152)
   self.取消:显示(x - 150 + 225, y - 30 + 152)
   银两显示(self.金钱文字,self.游戏金钱,x - 150 + 353,y - 30 + 94)
   银两显示(self.金钱文字,self.消耗金钱,x - 150 + 358,y - 30 + 65)
   self.文字:显示(x - 150 + 358,y - 30 + 152,self.当前体力)
   self.文字:显示(x - 150 + 358,y - 30 + 123,self.消耗体力)

   self.a=0
   self.b=0
   self.焦点对象=0
   for n=1,20 do
      self.a=n/5
       if(self.a<1)then

          self.a=1

        elseif(self.a>1 and self.a<2)then

          self.a=2


        elseif(self.a>2 and self.a<3)then

          self.a=3

        elseif(self.a>3 and self.a<4)then

          self.a=4

          end

        self.b=self.b+1


          if(self.b==6)then

           self.b=1


           end
      -- print(self.物品数据[n])

     if self.物品数据[n]~=nil and n~=self.格子[1].id and n~=self.格子[2].id  then

         self.物品数据[n]:显示(x - 150 + 170+self.b*50-50,y - 30 + 185+self.a*50-50)


         if self.物品数据[n]:获取焦点() then

           self.焦点对象=n
           self.物品数据[self.焦点对象]:显示事件(2)
           if 引擎.鼠标弹起(键盘符号.左键) then
              --print(self:条件检测(n),self:获取格子(n),99)

             if self:条件检测(n) then
               --print(44)
               self:获取格子(n)



               end



             end


           end


        end

       -- if self.焦点对象~=0 then end --self.物品数据[self.焦点对象]:显示事件(2) end

   end



 for n=1,2 do

     if self.格子[n].id~=0 then

       self.物品数据[self.格子[n].id].小动画:显示(x - 150 + 165+n*60-60,y - 30 + 92)

       if self.物品数据[self.格子[n].id]:获取焦点() then

           self.物品数据[self.格子[n].id]:显示事件(2)
         if 引擎.鼠标弹起(左键) then

           self.格子[n].id=0
           --self:体力计算(2) self:金钱计算(2)

           end

         end

       end


      end


 end

return 装备制造类

